// 静态成员:在类中通过static修饰的属性或者方法,那么就是静态的属性及静态的方法,也称为:静态成员
(() => {
    class Person {
        // 类中默认有一个内置的name属性,所以此时会出现错误的提示信息
        // static name:string

        static name1: string = '佐助'
        /* constructor(name:string){
            // 此时this是实例对象,name1是静态属性,不能通过实例对象直接调用静态属性来使用
            this.name1 = name
        } */
        // 构造函数时不能通过static来进行修饰的
        constructor() {

        }
        static sayHi() {
            console.log('你好')
        }
    }
    // const person: Person = new Person('佐助')
    // 通过实例对象调用的属性(实例属性)
    // console.log(person.name1);
    // 通过实例对象调用的方法(实例方法)
    // person.sayHi()

    const person: Person = new Person()
    // 通过类名.静态属性的方法来 访问 该成员数据
    console.log(Person.name1);
    // 通过类名.静态属性的方法来 修改 该成员数据
    Person.name1 = '鸣人'
    console.log(Person.name1);
    // 通过类名.静态方法的方式来 调用 内部的静态方法
    Person.sayHi()
})()